package com.dzl.moive.service;


import com.dzl.moive.pojo.WelfareMovieInfo;
import com.dzl.moive.pojo.dto.WelfareMoviePremiumPriceDto;
import com.dzl.moive.pojo.query.WelfareMovieCinemaQuery;
import com.dzl.moive.pojo.query.WelfareMovieInfoManageQuery;
import com.dzl.moive.pojo.vo.WelfareMovieInfoVo;
import com.dzl.moive.pojo.vo.WelfareMoviePageBannerVo;
import com.github.pagehelper.PageInfo;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 电影基础信息(welfare_movie_info)服务接口
 * @author liuguanjun
 * @date 2021-11-02 11:11:28
 */
public interface WelfareMovieInfoService {

    /**
     * 获取热映电影或待映电影
     * @param type 类型：1热映 2待映
     * @author liuguanjun
     * @date 2021-11-02 16:13:50
     **/
    List<WelfareMovieInfo> getMovieInfoList(String citycode,Integer type);

    /**
     * 获取电影购票详情
     * @param query 查询条件
     * @author liuguanjun
     * @date 2021-11-02 16:38:50
     **/
    WelfareMovieInfoVo getMovieInfoDetail(WelfareMovieCinemaQuery query);

    /**
     * 查询电影板块首页banner图
     * @date 2021/11/10 09:49
     * @author liuguanjun
     */
    Map getMoviePageBannerList(Integer enterpriseId);

    /**
     * 获取电影详情
     * @param id 电影id
     * @author liuguanjun
     * @date 2021-11-02 16:38:50
     **/
    WelfareMovieInfo getMovieInfo(Integer id);

    /**
     * 获取影片管理列表
     * @param query 电影信息查询
     * @author ChenLong
     * @date 2021-11-02 16:38:50
     **/
    PageInfo<WelfareMovieInfo> getMovieInfoManageListPage(WelfareMovieInfoManageQuery query);

    /**
     * 批量更新电影溢价
     * @author ChenLong
     * @date 2021-11-04 11:50:35
     * @param welfareMoviePremiumPriceDto 电影溢价对象
     * @return void
     **/
    Integer updateMoviePremiumPrice(WelfareMoviePremiumPriceDto welfareMoviePremiumPriceDto);

    /**
     * 更新全部电影溢价
     * @author ChenLong
     * @date 2021-11-04 11:50:35
     * @param premiumPrice 溢价
     * @return void
     **/
    Integer updateAllMoviePremiumPrice(BigDecimal premiumPrice);

    /**
     * 修改电影票销售数量
     * @author liuguanjun
     * @date 2021-11-10 16:13:35
     * @param movieid 溢价
     * @param saleCount 销售数量
     **/
    Integer updateMovieSaleCount(Integer movieid, Integer saleCount);
}
